package com.ipzoe.mem.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.ipzoe.common.annotation.Excel;
import com.ipzoe.common.core.domain.BaseEntity;
import lombok.Data;

import java.util.Date;

/**
 * 微信用户对象 wechat_user
 * 
 * @author lcl
 * @date 2020-09-08
 */
@Data
public class WechatUser extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 微信用户id */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /** 只有在用户将公众号绑定到微信开放平台帐号后，才会出现该字段 */
    @Excel(name = "只有在用户将公众号绑定到微信开放平台帐号后，才会出现该字段")
    private String unionid;

    /** 用户的标识，对当前公众号唯一 */
    @Excel(name = "用户的标识，对当前公众号唯一")
    private String openid;

    /** 小程序唯一身份ID */
    @Excel(name = "小程序唯一身份ID")
    private String routineOpenid;

    /** 用户的昵称 */
    @Excel(name = "用户的昵称")
    private String nickname;

    /** 用户头像 */
    @Excel(name = "用户头像")
    private String headimgurl;

    /** 用户的性别，值为1时是男性，值为2时是女性，值为0时是未知 */
    @Excel(name = "用户的性别，值为1时是男性，值为2时是女性，值为0时是未知")
    private Integer sex;

    /** 用户所在城市 */
    @Excel(name = "用户所在城市")
    private String city;

    /** 用户的语言，简体中文为zh_CN */
    @Excel(name = "用户的语言，简体中文为zh_CN")
    private String language;

    /** 用户所在省份 */
    @Excel(name = "用户所在省份")
    private String province;

    /** 用户所在国家 */
    @Excel(name = "用户所在国家")
    private String country;

    /** 用户特权信息，json 数组，如微信沃卡用户为（chinaunicom） */
    @Excel(name = "用户特权信息，json 数组，如微信沃卡用户为", readConverterExp = "c=hinaunicom")
    private String privilege;

    /** 用户所在的分组ID（兼容旧的用户分组接口） */
    @Excel(name = "用户所在的分组ID", readConverterExp = "兼=容旧的用户分组接口")
    private Integer groupid;

    /** 用户被打上的标签ID列表 */
    @Excel(name = "用户被打上的标签ID列表")
    private String tagidList;

    /** 用户是否订阅该公众号标识 */
    @Excel(name = "用户是否订阅该公众号标识")
    private Integer subscribe;

    /** 关注公众号时间 */
    @Excel(name = "关注公众号时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date subscribeTime;

    /** 小程序用户会话密匙 */
    @Excel(name = "小程序用户会话密匙")
    private String sessionKey;

}
